<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-comment">-- | This is the syntax for bkp files which are parsed in 'ghc --backpack'</span><span>
</span><span id="line-2"></span><span class="hs-comment">-- mode.  This syntax is used purely for testing purposes.</span><span>
</span><span id="line-3"></span><span>
</span><span id="line-4"></span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">GHC.Driver.Backpack.Syntax</span><span> </span><span class="hs-special">(</span><span>
</span><span id="line-5"></span><span>    </span><span class="annot"><span class="hs-comment">-- * Backpack abstract syntax</span></span><span>
</span><span id="line-6"></span><span>    </span><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#HsUnitId"><span class="hs-identifier">HsUnitId</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-7"></span><span>    </span><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#LHsUnitId"><span class="hs-identifier">LHsUnitId</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-8"></span><span>    </span><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#HsModuleSubst"><span class="hs-identifier">HsModuleSubst</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-9"></span><span>    </span><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#LHsModuleSubst"><span class="hs-identifier">LHsModuleSubst</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-10"></span><span>    </span><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#HsModuleId"><span class="hs-identifier">HsModuleId</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-11"></span><span>    </span><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#LHsModuleId"><span class="hs-identifier">LHsModuleId</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-12"></span><span>    </span><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#HsComponentId"><span class="hs-identifier">HsComponentId</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-13"></span><span>    </span><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#LHsUnit"><span class="hs-identifier">LHsUnit</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#HsUnit"><span class="hs-identifier">HsUnit</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-14"></span><span>    </span><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#LHsUnitDecl"><span class="hs-identifier">LHsUnitDecl</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#HsUnitDecl"><span class="hs-identifier">HsUnitDecl</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-15"></span><span>    </span><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#IncludeDecl"><span class="hs-identifier">IncludeDecl</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-16"></span><span>    </span><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#LRenaming"><span class="hs-identifier">LRenaming</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#Renaming"><span class="hs-identifier">Renaming</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-17"></span><span>    </span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-18"></span><span>
</span><span id="line-19"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Prelude.html"><span class="hs-identifier">GHC.Prelude</span></a></span><span>
</span><span id="line-20"></span><span>
</span><span id="line-21"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Driver.Phases.html"><span class="hs-identifier">GHC.Driver.Phases</span></a></span><span>
</span><span id="line-22"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Hs.html"><span class="hs-identifier">GHC.Hs</span></a></span><span>
</span><span id="line-23"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Types.SrcLoc.html"><span class="hs-identifier">GHC.Types.SrcLoc</span></a></span><span>
</span><span id="line-24"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html"><span class="hs-identifier">GHC.Utils.Outputable</span></a></span><span>
</span><span id="line-25"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Unit.html"><span class="hs-identifier">GHC.Unit</span></a></span><span>
</span><span id="line-26"></span><span>
</span><span id="line-27"></span><span class="hs-comment">{-
************************************************************************
*                                                                      *
                        User syntax
*                                                                      *
************************************************************************
-}</span><span>
</span><span id="line-34"></span><span>
</span><span id="line-35"></span><span class="hs-keyword">data</span><span> </span><span id="HsComponentId"><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#HsComponentId"><span class="hs-identifier hs-var">HsComponentId</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="HsComponentId"><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#HsComponentId"><span class="hs-identifier hs-var">HsComponentId</span></a></span></span><span> </span><span class="hs-special">{</span><span>
</span><span id="line-36"></span><span>    </span><span id="hsPackageName"><span class="annot"><span class="annottext">HsComponentId -&gt; PackageName
</span><a href="GHC.Driver.Backpack.Syntax.html#hsPackageName"><span class="hs-identifier hs-var hs-var">hsPackageName</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Info.html#PackageName"><span class="hs-identifier hs-type">PackageName</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-37"></span><span>    </span><span id="hsComponentId"><span class="annot"><span class="annottext">HsComponentId -&gt; IndefUnitId
</span><a href="GHC.Driver.Backpack.Syntax.html#hsComponentId"><span class="hs-identifier hs-var hs-var">hsComponentId</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#IndefUnitId"><span class="hs-identifier hs-type">IndefUnitId</span></a></span><span>
</span><span id="line-38"></span><span>    </span><span class="hs-special">}</span><span>
</span><span id="line-39"></span><span>
</span><span id="line-40"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621680982586"><span class="annot"><a href="GHC.Utils.Outputable.html#Outputable"><span class="hs-identifier hs-type">Outputable</span></a></span><span> </span><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#HsComponentId"><span class="hs-identifier hs-type">HsComponentId</span></a></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-41"></span><span>    </span><span id="local-6989586621680982580"><span class="annot"><span class="annottext">ppr :: HsComponentId -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var hs-var hs-var hs-var">ppr</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#HsComponentId"><span class="hs-identifier hs-type">HsComponentId</span></a></span><span> </span><span id="local-6989586621680982578"><span class="annot"><span class="annottext">PackageName
</span><a href="#local-6989586621680982578"><span class="hs-identifier hs-var">_pn</span></a></span></span><span> </span><span id="local-6989586621680982577"><span class="annot"><span class="annottext">IndefUnitId
</span><a href="#local-6989586621680982577"><span class="hs-identifier hs-var">cid</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IndefUnitId -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">IndefUnitId
</span><a href="#local-6989586621680982577"><span class="hs-identifier hs-var">cid</span></a></span><span> </span><span class="hs-comment">-- todo debug with pn</span><span>
</span><span id="line-42"></span><span>
</span><span id="line-43"></span><span class="hs-keyword">data</span><span> </span><span id="HsUnitId"><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#HsUnitId"><span class="hs-identifier hs-var">HsUnitId</span></a></span></span><span> </span><span id="local-6989586621680982576"><span class="annot"><a href="#local-6989586621680982576"><span class="hs-identifier hs-type">n</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="HsUnitId"><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#HsUnitId"><span class="hs-identifier hs-var">HsUnitId</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Types.SrcLoc.html#Located"><span class="hs-identifier hs-type">Located</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680982576"><span class="hs-identifier hs-type">n</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#LHsModuleSubst"><span class="hs-identifier hs-type">LHsModuleSubst</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680982576"><span class="hs-identifier hs-type">n</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-44"></span><span class="hs-keyword">type</span><span> </span><span id="LHsUnitId"><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#LHsUnitId"><span class="hs-identifier hs-var">LHsUnitId</span></a></span></span><span> </span><span id="local-6989586621680982574"><span class="annot"><a href="#local-6989586621680982574"><span class="hs-identifier hs-type">n</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><a href="GHC.Types.SrcLoc.html#Located"><span class="hs-identifier hs-type">Located</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#HsUnitId"><span class="hs-identifier hs-type">HsUnitId</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680982574"><span class="hs-identifier hs-type">n</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-45"></span><span>
</span><span id="line-46"></span><span class="hs-keyword">type</span><span> </span><span id="HsModuleSubst"><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#HsModuleSubst"><span class="hs-identifier hs-var">HsModuleSubst</span></a></span></span><span> </span><span id="local-6989586621680982573"><span class="annot"><a href="#local-6989586621680982573"><span class="hs-identifier hs-type">n</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Types.SrcLoc.html#Located"><span class="hs-identifier hs-type">Located</span></a></span><span> </span><span class="annot"><a href="GHC.Unit.Module.Name.html#ModuleName"><span class="hs-identifier hs-type">ModuleName</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#LHsModuleId"><span class="hs-identifier hs-type">LHsModuleId</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680982573"><span class="hs-identifier hs-type">n</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-47"></span><span class="hs-keyword">type</span><span> </span><span id="LHsModuleSubst"><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#LHsModuleSubst"><span class="hs-identifier hs-var">LHsModuleSubst</span></a></span></span><span> </span><span id="local-6989586621680982572"><span class="annot"><a href="#local-6989586621680982572"><span class="hs-identifier hs-type">n</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><a href="GHC.Types.SrcLoc.html#Located"><span class="hs-identifier hs-type">Located</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#HsModuleSubst"><span class="hs-identifier hs-type">HsModuleSubst</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680982572"><span class="hs-identifier hs-type">n</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-48"></span><span>
</span><span id="line-49"></span><span class="hs-keyword">data</span><span> </span><span id="HsModuleId"><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#HsModuleId"><span class="hs-identifier hs-var">HsModuleId</span></a></span></span><span> </span><span id="local-6989586621680982571"><span class="annot"><a href="#local-6989586621680982571"><span class="hs-identifier hs-type">n</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="HsModuleVar"><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#HsModuleVar"><span class="hs-identifier hs-var">HsModuleVar</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Types.SrcLoc.html#Located"><span class="hs-identifier hs-type">Located</span></a></span><span> </span><span class="annot"><a href="GHC.Unit.Module.Name.html#ModuleName"><span class="hs-identifier hs-type">ModuleName</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-50"></span><span>                  </span><span class="hs-glyph">|</span><span> </span><span id="HsModuleId"><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#HsModuleId"><span class="hs-identifier hs-var">HsModuleId</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#LHsUnitId"><span class="hs-identifier hs-type">LHsUnitId</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680982571"><span class="hs-identifier hs-type">n</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Types.SrcLoc.html#Located"><span class="hs-identifier hs-type">Located</span></a></span><span> </span><span class="annot"><a href="GHC.Unit.Module.Name.html#ModuleName"><span class="hs-identifier hs-type">ModuleName</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-51"></span><span class="hs-keyword">type</span><span> </span><span id="LHsModuleId"><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#LHsModuleId"><span class="hs-identifier hs-var">LHsModuleId</span></a></span></span><span> </span><span id="local-6989586621680982568"><span class="annot"><a href="#local-6989586621680982568"><span class="hs-identifier hs-type">n</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><a href="GHC.Types.SrcLoc.html#Located"><span class="hs-identifier hs-type">Located</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#HsModuleId"><span class="hs-identifier hs-type">HsModuleId</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680982568"><span class="hs-identifier hs-type">n</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-52"></span><span>
</span><span id="line-53"></span><span class="hs-comment">-- | Top level @unit@ declaration in a Backpack file.</span><span>
</span><span id="line-54"></span><span class="hs-keyword">data</span><span> </span><span id="HsUnit"><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#HsUnit"><span class="hs-identifier hs-var">HsUnit</span></a></span></span><span> </span><span id="local-6989586621680982615"><span class="annot"><a href="#local-6989586621680982615"><span class="hs-identifier hs-type">n</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="HsUnit"><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#HsUnit"><span class="hs-identifier hs-var">HsUnit</span></a></span></span><span> </span><span class="hs-special">{</span><span>
</span><span id="line-55"></span><span>        </span><span id="hsunitName"><span class="annot"><span class="annottext">forall n. HsUnit n -&gt; Located n
</span><a href="GHC.Driver.Backpack.Syntax.html#hsunitName"><span class="hs-identifier hs-var hs-var">hsunitName</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.SrcLoc.html#Located"><span class="hs-identifier hs-type">Located</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680982615"><span class="hs-identifier hs-type">n</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-56"></span><span>        </span><span id="hsunitBody"><span class="annot"><span class="annottext">forall n. HsUnit n -&gt; [LHsUnitDecl n]
</span><a href="GHC.Driver.Backpack.Syntax.html#hsunitBody"><span class="hs-identifier hs-var hs-var">hsunitBody</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#LHsUnitDecl"><span class="hs-identifier hs-type">LHsUnitDecl</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680982615"><span class="hs-identifier hs-type">n</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-57"></span><span>    </span><span class="hs-special">}</span><span>
</span><span id="line-58"></span><span class="hs-keyword">type</span><span> </span><span id="LHsUnit"><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#LHsUnit"><span class="hs-identifier hs-var">LHsUnit</span></a></span></span><span> </span><span id="local-6989586621680982564"><span class="annot"><a href="#local-6989586621680982564"><span class="hs-identifier hs-type">n</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><a href="GHC.Types.SrcLoc.html#Located"><span class="hs-identifier hs-type">Located</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#HsUnit"><span class="hs-identifier hs-type">HsUnit</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680982564"><span class="hs-identifier hs-type">n</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-59"></span><span>
</span><span id="line-60"></span><span class="hs-comment">-- | A declaration in a package, e.g. a module or signature definition,</span><span>
</span><span id="line-61"></span><span class="hs-comment">-- or an include.</span><span>
</span><span id="line-62"></span><span class="hs-keyword">data</span><span> </span><span id="HsUnitDecl"><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#HsUnitDecl"><span class="hs-identifier hs-var">HsUnitDecl</span></a></span></span><span> </span><span id="local-6989586621680982563"><span class="annot"><a href="#local-6989586621680982563"><span class="hs-identifier hs-type">n</span></a></span></span><span>
</span><span id="line-63"></span><span>    </span><span class="hs-glyph">=</span><span> </span><span id="DeclD"><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#DeclD"><span class="hs-identifier hs-var">DeclD</span></a></span></span><span>   </span><span class="annot"><a href="GHC.Driver.Phases.html#HscSource"><span class="hs-identifier hs-type">HscSource</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Types.SrcLoc.html#Located"><span class="hs-identifier hs-type">Located</span></a></span><span> </span><span class="annot"><a href="GHC.Unit.Module.Name.html#ModuleName"><span class="hs-identifier hs-type">ModuleName</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Types.SrcLoc.html#Located"><span class="hs-identifier hs-type">Located</span></a></span><span> </span><span class="annot"><a href="GHC.Hs.html#HsModule"><span class="hs-identifier hs-type">HsModule</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-64"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="IncludeD"><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#IncludeD"><span class="hs-identifier hs-var">IncludeD</span></a></span></span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#IncludeDecl"><span class="hs-identifier hs-type">IncludeDecl</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680982563"><span class="hs-identifier hs-type">n</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-65"></span><span class="hs-keyword">type</span><span> </span><span id="LHsUnitDecl"><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#LHsUnitDecl"><span class="hs-identifier hs-var">LHsUnitDecl</span></a></span></span><span> </span><span id="local-6989586621680982558"><span class="annot"><a href="#local-6989586621680982558"><span class="hs-identifier hs-type">n</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><a href="GHC.Types.SrcLoc.html#Located"><span class="hs-identifier hs-type">Located</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#HsUnitDecl"><span class="hs-identifier hs-type">HsUnitDecl</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680982558"><span class="hs-identifier hs-type">n</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-66"></span><span>
</span><span id="line-67"></span><span class="hs-comment">-- | An include of another unit</span><span>
</span><span id="line-68"></span><span class="hs-keyword">data</span><span> </span><span id="IncludeDecl"><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#IncludeDecl"><span class="hs-identifier hs-var">IncludeDecl</span></a></span></span><span> </span><span id="local-6989586621680982609"><span class="annot"><a href="#local-6989586621680982609"><span class="hs-identifier hs-type">n</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="IncludeDecl"><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#IncludeDecl"><span class="hs-identifier hs-var">IncludeDecl</span></a></span></span><span> </span><span class="hs-special">{</span><span>
</span><span id="line-69"></span><span>        </span><span id="idUnitId"><span class="annot"><span class="annottext">forall n. IncludeDecl n -&gt; LHsUnitId n
</span><a href="GHC.Driver.Backpack.Syntax.html#idUnitId"><span class="hs-identifier hs-var hs-var">idUnitId</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#LHsUnitId"><span class="hs-identifier hs-type">LHsUnitId</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680982609"><span class="hs-identifier hs-type">n</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-70"></span><span>        </span><span id="idModRenaming"><span class="annot"><span class="annottext">forall n. IncludeDecl n -&gt; Maybe [LRenaming]
</span><a href="GHC.Driver.Backpack.Syntax.html#idModRenaming"><span class="hs-identifier hs-var hs-var">idModRenaming</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="hs-special">[</span><span> </span><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#LRenaming"><span class="hs-identifier hs-type">LRenaming</span></a></span><span> </span><span class="hs-special">]</span><span class="hs-special">,</span><span>
</span><span id="line-71"></span><span>        </span><span class="hs-comment">-- | Is this a @dependency signature@ include?  If so,</span><span>
</span><span id="line-72"></span><span>        </span><span class="hs-comment">-- we don't compile this include when we instantiate this</span><span>
</span><span id="line-73"></span><span>        </span><span class="hs-comment">-- unit (as there should not be any modules brought into</span><span>
</span><span id="line-74"></span><span>        </span><span class="hs-comment">-- scope.)</span><span>
</span><span id="line-75"></span><span>        </span><span id="idSignatureInclude"><span class="annot"><span class="annottext">forall n. IncludeDecl n -&gt; Bool
</span><a href="GHC.Driver.Backpack.Syntax.html#idSignatureInclude"><span class="hs-identifier hs-var hs-var">idSignatureInclude</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span>
</span><span id="line-76"></span><span>    </span><span class="hs-special">}</span><span>
</span><span id="line-77"></span><span>
</span><span id="line-78"></span><span class="hs-comment">-- | Rename a module from one name to another.  The identity renaming</span><span>
</span><span id="line-79"></span><span class="hs-comment">-- means that the module should be brought into scope.</span><span>
</span><span id="line-80"></span><span class="hs-keyword">data</span><span> </span><span id="Renaming"><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#Renaming"><span class="hs-identifier hs-var">Renaming</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="Renaming"><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#Renaming"><span class="hs-identifier hs-var">Renaming</span></a></span></span><span> </span><span class="hs-special">{</span><span> </span><span id="renameFrom"><span class="annot"><span class="annottext">Renaming -&gt; Located ModuleName
</span><a href="GHC.Driver.Backpack.Syntax.html#renameFrom"><span class="hs-identifier hs-var hs-var">renameFrom</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.SrcLoc.html#Located"><span class="hs-identifier hs-type">Located</span></a></span><span> </span><span class="annot"><a href="GHC.Unit.Module.Name.html#ModuleName"><span class="hs-identifier hs-type">ModuleName</span></a></span><span>
</span><span id="line-81"></span><span>                         </span><span class="hs-special">,</span><span> </span><span id="renameTo"><span class="annot"><span class="annottext">Renaming -&gt; Maybe (Located ModuleName)
</span><a href="GHC.Driver.Backpack.Syntax.html#renameTo"><span class="hs-identifier hs-var hs-var">renameTo</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Types.SrcLoc.html#Located"><span class="hs-identifier hs-type">Located</span></a></span><span> </span><span class="annot"><a href="GHC.Unit.Module.Name.html#ModuleName"><span class="hs-identifier hs-type">ModuleName</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">}</span><span>
</span><span id="line-82"></span><span class="hs-keyword">type</span><span> </span><span id="LRenaming"><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#LRenaming"><span class="hs-identifier hs-var">LRenaming</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><a href="GHC.Types.SrcLoc.html#Located"><span class="hs-identifier hs-type">Located</span></a></span><span> </span><span class="annot"><a href="GHC.Driver.Backpack.Syntax.html#Renaming"><span class="hs-identifier hs-type">Renaming</span></a></span><span>
</span><span id="line-83"></span></pre></body></html>